/**
* Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved.
*
* @file      adpt_aenc_aac.h
* @brief     aenc aac encoder adapter head file.
* @author    HiMobileCam ndk develop team
* @date  2019-3-26
*/

#ifndef __ADPT_AENC_AAC_H__
#define __ADPT_AENC_AAC_H__

#include "hi_mapi_aenc_adpt.h"

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif /* End of #ifdef __cplusplus */

/** \addtogroup     AENC ADPT */
/** @{ */ /** <!-- [AENC ADPT] */


typedef enum hiMAPI_AACENC_BITRATE_E{
    HI_MAPI_AACENC_BITRATE_16000 = 16000,
    HI_MAPI_AACENC_BITRATE_24000 = 24000,
    HI_MAPI_AACENC_BITRATE_32000 = 32000,
    HI_MAPI_AACENC_BITRATE_44000 = 44000,
    HI_MAPI_AACENC_BITRATE_48000 = 48000,
    HI_MAPI_AACENC_BITRATE_64000 = 64000,
    HI_MAPI_AACENC_BITRATE_96000 = 96000,
    HI_MAPI_AACENC_BITRATE_128000 = 128000,
    HI_MAPI_AACENC_BITRATE_132000 = 132000,
    HI_MAPI_AACENC_BITRATE_144000 = 144000,
    HI_MAPI_AACENC_BITRATE_192000 = 192000,
    HI_MAPI_AACENC_BITRATE_256000 = 256000,
    HI_MAPI_AACENC_BITRATE_265000 = 265000,
    HI_MAPI_AACENC_BITRATE_288000 = 288000,
    HI_MAPI_AACENC_BITRATE_320000 = 320000,
} HI_MAPI_AACENC_BITRATE_E;

typedef struct tagAENC_AAC_ENCODER_S {
    AAC_ENCODER_S *pstAACState;
    HI_MAPI_AENC_ATTR_AAC_S stAACAttr; /**< AAC Attr */
} AENC_AAC_ENCODER_S;

/**
 * @brief    get aenc aac encoder struct
 * @param[out] pstAacEncoder
 * @return 0 success,non-zero error code.
 * @exception    None
 * @author    HiMobileCam NDK Develop Team
 * @date      2017/12/15
 */
HI_S32 ADPT_AENC_GetAacEncoder(AENC_ENCODER_S *pstAacEncoder);

/** @} */ /** <!-- ==== AENC ADPT End ==== */

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif
